const express = require('express')
const server = express()

// 导入cors中间件
const cors = require('cors')
// 路由之前导入解析token的中间件
const expressJWT = require('express-jwt')
// 导入全局配置文件
const config = require('./config')

// 使用中间件
server.use(cors())
server.use(expressJWT({ secret:config.jwtSecretKey }).unless({ path:[/^\/api/] }))

// 配置解析表单数据的中间件(内置中间件express.urlencoded({extended:false}))
server.use(express.urlencoded({ extended:false }))
// 配置解析application/json表单数据的中间件
server.use(express.json())

// 引入路由
const userRouter = require('./router/user')
const userInfoRouter =require('./router/userInfo')
// 使用路由
server.use('/api',userRouter)
server.use('/userInfo',userInfoRouter)

// 定义错误级别的中间件
server.use((err,req,res,next)=>{
    // 身份认证失败的错误
    if(err.name === 'UnauthorizedError'){
        return res.send({
            status: 1,
            msg: '身份认证失败！'
        })
    }
})


server.listen(3007,()=>{
    console.log('http://127.0.0.1')
})